Skip to content

Conversation

caspermeijn
Copy link
Contributor

Use cargo minimal-versions to check whether the minimal specified versions dependencies successfully compiles.

As this repo has no Cargo.lock, CI will always test with the newest compatible dependency versions. This new job will check oldest compatible dependency version as well.

This requires unstable nightly feature minimal-versions, but they abstracted away by cargo-minimal-versions project.

prost uses the same job for several months: https://github.com/tokio-rs/prost/blob/21208abf667313866f79d3d1438310c4dc20bdff/.github/workflows/ci.yml#L168-L176

Use `cargo minimal-versions` to check whether the minimal specified versions dependencies successfully compiles.

As this repo has no `Cargo.lock`, CI will always test with the newest compatible dependency versions. This new job will check oldest compatible dependency version as well.

This requires unstable nightly feature `minimal-versions`, but they abstracted away by `cargo-minimal-versions` project.
@tomhoule
Copy link
Member

Are you able to see the CI output to iterate on this?

@caspermeijn
Copy link
Contributor Author

Are you able to see the CI output to iterate on this?

So I have been a bit dumb and just committed this CI job without testing. I will look into what dependencies need to change to make this work and add them as separate commits in this PR.

@caspermeijn
Copy link
Contributor Author

I have not been able to make this work. Some of the transient dependencies have wrong minimal dependencies. I have found a few crates where the minimal dependencies have been fixed in the latest version, but that doesn't help because we want to support the older version.

My conclusion is: a CI job for minimal version is not feasible as long as reqwest 0.11 is in the dependency list.

@caspermeijn caspermeijn deleted the minimal_versions branch March 14, 2025 09:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants